Types of data storage include a magnetic disk, a semiconductor memory, and the like. Since each type of the data storage may have different physical characteristics, a management system corresponding to the different physical characteristics may be necessary.
A magnetic disk is widely used as a conventional data storage device. For example, a magnetic disk has an average read/write time in milliseconds per kilobyte. As another characteristic, a read/write time may vary depending on the location of data due to a time required for an arm to reach the physical location of the data.
Compared to a magnetic disk, a non-volatile memory device typically has a shorter read/write time, consumes less power, and occupies a smaller area. It is rapidly substituting a magnetic disk as mass storage.
A non-volatile memory device may be a semiconductor memory device which may electrically perform a read, write, and erase function, and may maintain programmed data even where a supply power does not exist. A data storage process of a non-volatile memory device is referred to as either a write or a programming.
A non-volatile memory device is widely used in digital cameras, cellular phones, Personal Data Assistants (PDAs), laptop computers, and the like, and may store a large amount of data in a small area on a semiconductor chip.
A NAND flash memory may be referred to as a form of non-volatile memory device and is widely used as a mass storage. A NAND flash memory may be characterized in that it has a read time of tens of microseconds per kilobyte, and a write time of hundreds of microseconds per kilobyte. Generally, a NAND flash memory has an erase time that is different from a write time. Since the erase time may correspond to several milliseconds, a method of simultaneously erasing a plurality of memory cells is widely used for reducing the erase time for entire data. A unit of the plurality of memory cells simultaneously erased may be referred to as an erase unit.
As described above, since a non-volatile memory, such as a NAND flash memory, has an asymmetric read/write/erase characteristic in that a time required for a read, a time required for a write, and a time required for an erase are different from each other, it is very different from a conventional magnetic disk. Also, since the non-volatile memory electrically accesses data, a location storing the data scarcely affects the read/write/erase characteristic.
In a conventional magnetic disk, a process of erasing data is included in a data write process. Accordingly, a separate time is unnecessary. To update data, a location where previous data is stored is overwritten with the updated data.
In a non-volatile memory, a process of erasing data is separate from a write process. And because a relatively long separate time is typically needed for the process of erasing the data, a relatively long time may be required to update data where an update method applied for a conventional magnetic disk is applied to a non-volatile memory. In particular, where the data is randomly accessed and updated, it is well-known that an update time particularly increases.
A controller and/or system accessing a non-volatile memory may set a logic memory address to be different from a physical memory address of the non-volatile memory, and an interface may map the logic memory address and the physical memory address.
An interface applied to a flash memory may be referred to as a Flash Translation Layer (FTL).